#ifndef __STAFFCLINET_H__
#define __STAFFCLINET_H__
// TCP网络编程之客户端
// 刘乾隆
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <string.h>
#define S 32
#define N 128
//封装数据包结构体
typedef struct Data
{
  int flat;
  char name[S];
  int age;
  char gender[S];
  char password[S];
  int id;
  int wages;
  char department[S];
  char quit[N];
  char information[N];
  int flats;
} DATA;
#define ERRLOG(errmsg)                                      \
  do                                                        \
  {                                                         \
    perror(errmsg);                                         \
    printf("%s - %s - %d\n", __FILE__, __func__, __LINE__); \
    exit(1);                                                \
  } while (0)
//封装网络信息结构体
typedef struct
{
  int acceptfd;
  struct sockaddr_in clientaddr;
} MSG;
//主登录页面
void do_Main_meun(MSG msg);
//管理员登陆页面
void do_Administrators(MSG msg);
//用户主页面
void do_Staff(MSG msg);
//管理员操作页面
void do_Administrator_action(MSG msg);
//管理员登录函数
void do_Administrators_sign_in(MSG msg);
//用户注册函数
void do_Staff_register(MSG msg);
//用户登录函数
void do_Staff_sign_in(MSG msg);
//管理员添加用户
void do_Administrators_add_to(MSG msg);
//管理员删除用户
void do_Administrators_delete(MSG msg);
//管理员修改用户
void do_Administrators_modify(MSG msg);
//管理员查询用户
void do_Administrators_query(MSG msg);
//管理员查询历史记录
void do_Administrators_Historical_records(MSG msg);
//用户查询信息
void do_Staff_query(MSG msg);
//用户修改密码
void do_Staff_modify(MSG msg);
//用户修改个人信息
void do_Staff_modify_personal(MSG msg);
//用户查询历史记录
void do_Staff__Historical_records(MSG msg);
//管理员查询函数
void do_check(int flat, MSG msg);
//管理员修改函数
void do_change(int flat, MSG msg);
#endif
